Many software applications are designed to run in parallel over multiple processing cores or servers. However, no effective 110 resource partitioning techniques are available to isolate I/O resources at an adequately small granularity.